

#pragma once

#include "drivers/io_types.h"

typedef enum {
    INPUT_FILTERING_DISABLED = 0,
    INPUT_FILTERING_ENABLED
} inputFilteringMode_e;

#define PPM_RCVR_TIMEOUT            0

typedef struct ppmConfig_s {
    ioTag_t ioTag;
} ppmConfig_t;

typedef struct pwmConfig_s {
    //ioTag_t ioTags[PWM_INPUT_PORT_COUNT];
    inputFilteringMode_e inputFilteringMode;
} pwmConfig_t;

void pwmRxInit(const pwmConfig_t *pwmConfig);

uint16_t pwmRead(uint8_t channel);
uint16_t ppmRead(uint8_t channel);

bool isPPMDataBeingReceived(void);
void resetPPMDataReceivedState(void);

bool isPWMDataBeingReceived(void);
